#include "Adjust.h"

//void AdjustUp(int* a,int child)
//{
//	assert(a);
//	int parent = (child - 1) / 2;
//	while (child > 0)
//	{
//		if (a[child] < a[parent])
//		{
//			swap(&a[child],&a[parent]);
//			child = parent;
//			parent = (child - 1) / 2;
//		}
//		else
//		{
//			break;
//		}
//	}
//}
void swap(int* px, int* py)
{
    int tmp = *px;
    *px = *py;
    *py = tmp;
 }
void AdjustDown(int* a, int n, int parent)
{
    assert(a);
    int child = parent * 2 + 1;
    while (child < n)
    {
        if (child + 1 < n&& a[child] > a[child + 1])
        {
            child++;
        }
        if (a[child] < a[parent])
        {
            swap(&a[child], &a[parent]);
            parent = child;
            child = parent * 2 + 1;
        }
        else
        {
            break;
        }
    }
}
